GhostCell: separating permissions from data in Rust
نویسندگان
چکیده
The Rust language offers a promising approach to safe systems programming based on the principle of aliasing XOR mutability : value may be either aliased or mutable, but not both at same time. However, implement pointer-based data structures with internal sharing, such as graphs doubly-linked lists, we need able mutate state. To support structures, provides number APIs that offer so-called interior ability via method calls shared reference. Unfortunately, existing sacrifice flexibility, concurrent access, and/or performance, in exchange for safety. In this paper, propose new API called GhostCell which avoids sacrifices by separating permissions from it enables user safely synchronize access collection single permission. repurposes an old trick typed functional programming: branded types (as exemplified Haskell’s ST monad), combine phantom and rank-2 polymorphism simulate lightweight form state-dependent types. We have formally proven soundness adapting extending RustBelt, semantic proof representative subset Rust, mechanized Coq.
منابع مشابه
Separating indexes from data: a distributed scheme for secure database outsourcing
Database outsourcing is an idea to eliminate the burden of database management from organizations. Since data is a critical asset of organizations, preserving its privacy from outside adversary and untrusted server should be warranted. In this paper, we present a distributed scheme based on storing shares of data on different servers and separating indexes from data on a distinct server. Shamir...
متن کاملF2: Separating Compute from Data in Cluster Computing
Existing data analytics frameworks are intrinsically compute-centric in nature. Their computation structure is complex and determined early, and they take decisions that bind early to this structure. This impacts expressiveness, job performance, and cluster efficiency. We present F , a new analytics framework that separates computation from data management, making the latter an equal first-clas...
متن کاملTWO NEW RUST SPECIES (UREDINALES) FROM IRAN
Two rust fungi from Iran are described as new species, viz. Puccinia hedjaroudei on Scutellaria multicaulis (Lamiaceae) and Phragmidium gorganense on Rubus caesius (Rosaceae). A key to the species of Phragmidium on Rubus spp. in Iran is also provided. All holotypes are preserved in the fungus reference collection of the Ministry of Jihad-e Agriculture (IRAN), located in Department of Botany of ...
متن کاملSeparating Models of Learning from Correlated and Uncorrelated Data
We consider a natural framework of learning from correlated data, in which successive examples used for learning are generated according to a random walk over the space of possible examples. Previous research has suggested that the Random Walk model is more powerful than comparable standard models of learning from independent examples, by exhibiting learning algorithms in the Random Walk framew...
متن کاملSeparating Web Applications from User Data Storage with BSTORE Citation
This paper presents BSTORE, a framework that allows developers to separate their web application code from user data storage. With BSTORE, storage providers implement a standard file system API, and applications access user data through that same API without having to worry about where the data might be stored. A file system manager allows the user and applications to combine multiple file syst...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Proceedings of the ACM on programming languages
سال: 2021
ISSN: ['2475-1421']
DOI: https://doi.org/10.1145/3473597